'use strict'
// Template version: 1.2.4
// see http://vuejs-templates.github.io/webpack for documentation.

// 这个文件主要是对开发环境和生产环境的一个基本的配置
const path = require('path');
var helpers = require('./helpers.js');
// 环境变量
// var build_env = helpers.getBuildEnv();
var proxyTarget = helpers.getProxyTarget();
var apiHost = helpers.getApiHost();
const dist='sgm-h5-app';

module.exports = {
	// 开发环境的一个基本配置
  dev: {
	  env: require('./dev.env'),  	
	  // 编译输出的二级目录
    assetsSubDirectory: 'static',
    // 编译发布的根目录，可配置为资源服务器域名或者cdn域名
    assetsPublicPath: '/',
    // 开发时候的访问域名。可以通过环境变量自己设置。
    host: 'localhost', // can be overwritten by process.env.HOST
    // 开发时候的端口。可以通过环境变量PORT设定。如果端口被占用了，会随机分配一个未被使用的端口
    port: 8181, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    // 是否自动打开浏览器
    autoOpenBrowser: true,
    //  在浏览器是否展示错误蒙层
    errorOverlay: true,
     // 是否展示错误的通知
    notifyOnErrors: true,
    // 这个是webpack-dev-servr的watchOptions的一个选项，指定webpack检查文件的方式
    // 因为webpack使用文件系统去获取文件改变的通知。在有些情况下，这个可能不起作用。例如，当使用NFC的时候，
    // vagrant也会在这方面存在很多问题，在这些情况下，使用poll选项（以轮询的方式去检查文件是否改变）可以设定为true
    // 或者具体的数值，指定文件查询的具体周期。
    poll: false, 
   	// 是否使用eslint loader去检查代码
    useEslint: false,
    // 如果设置为true，在浏览器中，eslint的错误和警告会以蒙层的方式展现。
    showEslintErrorsInOverlay: false,  
    // 指定是否通过在文件名称后面添加一个查询字符串来创建source map的缓存
    cacheBusting: true,
  	// 关闭css的source map
    cssSourceMap: false,
    // 需要使用proxyTable代理的接口(可以跨域)
    proxyTable: {
      '/test/shortRent': {
          target: proxyTarget,
          changeOrigin: true,
          pathRewrite: {
              '^/test/shortRent': '/evcard-evrental'
          }
      },
      '/shortRent': {
        target: proxyTarget,
        changeOrigin: true,
        pathRewrite: {
            '^/shortRent': '/evcard-evrental'
        }
      }
    },
    apiHost:apiHost,
    // CSS Sourcemaps off by default because relative paths are "buggy"
    // with this option, according to the CSS-Loader README
    // (https://github.com/webpack/css-loader#sourcemaps)
    // In our experience, they generally work as expected,
    // just be aware of this issue when enabling this option.

  },

  build: {
    // Template for index.html
    env: require('./prod.env'),
    // html文件的生成的地方
    index: path.resolve(__dirname, `../${dist}/index.html`),
     // 编译生成的文件的目录
    assetsRoot: path.resolve(__dirname, `../${dist}`),
    // 编译生成的静态文件的目录
    assetsSubDirectory: 'static',
    // 编译发布的根目录，可配置为资源服务器域名或者cdn域名
    assetsPublicPath: `/${dist}/`,

    productionSourceMap: false,
    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
	 	// 是否开启生产环境的gzip压缩
    productionGzip: false,
    // 开启gzip压缩的文件的后缀名称
    productionGzipExtensions: ['js', 'css'],

    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    // 如果这个选项是true的话，那么则会在build后，会在浏览器中生成一份bundler报告
    bundleAnalyzerReport: process.env.npm_config_report,
    // 自定义属性
    apiHost:apiHost,
  }
}